﻿#pragma once
#include <QWidget>
#include <QScopedPointer>
#include <QPointer>

namespace Ui { class ObjectRubberBand; }

class ObjectRubberBand : public QWidget {
    Q_OBJECT
private:
    Ui::ObjectRubberBand *ui;
    struct ObjectRubberBandData;
    QScopedPointer<ObjectRubberBandData> d;
public:
    explicit ObjectRubberBand(QWidget *parent = nullptr);
    ~ObjectRubberBand();

protected:
    void changeEvent(QEvent *event) override;

private slots:
    void updateRubberGeometry();

private:
    void tryRubber();
};
